есть проблема которую не могу решить, бьюсь дня наверное три уже, гугл отмалчивается.
итак, есть textarea:
<form id="add_comment" method="POST" action="/includes/comments.php">
<label>Оставить комментарий</label>
<textarea autocomplete="off" name="text" required></textarea>
<input type="hidden" name="action" value="add"/>
<input type="hidden" name="post_id" value="<?=$postData['id']?>"/>
<input type="submit" value="Отправить" />
</form>
есть код js который аяксово отправляет коммент на сервер:
$('#add_comment').submit(function(e){
e.preventDefault();
e.stopPropagation();
$.ajax({
url: '/includes/comments.php',
type: 'post',
data: 'action=add&text='+$('#add_comment textarea').val()+'&post_id=<?=$postData['id']?>',
dataType: 'text',
beforeSend: function(){
$(this).find('input[type="submit"]').attr('disabled', 'disabled');
},
success: function(data, textStatus){
if(data.status == 'OK')
location.reload();
else
$(this).find('input[type="submit"]').removeAttr('disabled');
}
});
});
ну так вот, при считывании текста из textarea, множественные пробелы приобретают совершенно ужасный вид, которые невозможно обработать на сервере. Строка
тут коммент, а тут много пробелов
превращается в (это после выполнения htmlentites, со стороны сервера)
��� коммен�, а ���                        много п�обелов
почему такое происходит и как от этого избавиться - я не знаю. Достоверно известно, что косяк происходит в момент считывания текста из textarea. Если отправляемый текст ручками подменять на что-то еще и отправлять на сервер, все приходит в адекватном виде, а так.. жуть в общем=(